Part Number Hot Search : 
1584T5D1 SG2526B MD3221N KBDP64 SG2526B 42S16 SG2526B MPG3338
Product Description
Full Text Search
 

To Download ZR36504 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  usbvision tm ii ZR36504 video & audio interface solution via usb data sheet revision 1.00 september 1999. zoran reserves the right to make changes without further notice to any product herein. zoran makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does zoran assume any liability arising out of the application or use of any product or circuit, and spec ifically disclaims any and all liability, including without limitation consequential or incidental damages. zoran products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 2 of 2 to support or sustain life, or for any other application in which the failure of the zoran product could create a situation where personal injury or death may occur.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 3 of 3 table of contents: 1. general architecture ................................ ................................ ................................ ............................. 15 2. registers bank (control and status) ................................ ................................ .............................. 18 3. power management ................................ ................................ ................................ .............................. 25 4. video input interface ................................ ................................ ................................ ........................... 27 5. dram control and interface ................................ ................................ ................................ ........... 42 6. camera control serial port ................................ ................................ ................................ ............... 47 7. external eeprom ................................ ................................ ................................ ................................ 55 8. ZR36504 usb and status registers ................................ ................................ ............................. 63 9. programmable i/o pins and 48mhz output pin ................................ ................................ ........ 65 10. audio channel ................................ ................................ ................................ ................................ ........ 66 11. bulk channel ................................ ................................ ................................ ................................ ........... 68 12. software package ................................ ................................ ................................ ................................ . 71 13. mechanical specification ................................ ................................ ................................ .................... 72
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 4 of 4 ZR36504 - full video and audio interface solution for video via usb the ZR36504 is an ideal solution for digital camera manufacturers who want to utilize the universal serial bus as an interface between the camera and the computer. using a proprietary video compressi on algorithm, the ZR36504 enables a throughput of up to 30f/s for cif size images and up to 15f/s for vga size images, utilizing only half of total available bandwidth of the usb port. an appropriate software driver in the host computer de - compresses the incoming usb data, consuming only 25% of cpu time (@ cif 30f/s). the resulting digital image quality is almost identical to the source coming from the camera. this monolithic feature of the ZR36504 makes it ideal to be used as a one chip solution for a very low cost usb portable video camera. the ZR36504 can also be used to transfer video sequence from a composite - video source to the computer for editing (this requires an additional video decoder chip). due to the fact that the usb bandwidth used by the ZR36504 can be adjusted (0.5 - 7.5 mbit/sec), the video software application always has enough time to record the incoming compressed video data on disk and display full frame - rate on screen simultaneously. the ZR36504 is compatible with the nt1003 - 1, but has a smaller package. it supports simultaneous serial digital audio input and simultaneous external bulk - data input as well, and eliminates the need for an external eeprom to set a specific manufacturer usb id code. the ZR36504 also supports 16 mbit drams for a better quality vga video and still capture. features up to 30 frames/sec @ cif size (352x288 pixels) up to 15 frames/sec @ vga size (640x480 pixels) connects to various yuv sources (4:4:4, 4:2:2, 16 or 8 - bit bus) selectable raw/compressed video out variable compression ratio selectable usb bandwidth (0.5mbps - 7.5mbps in 0.5mbps steps): built - in programmable true scaler (down scale - horizontal and vertical) built in zoom and pan capabilities supports high resolution still image capture (640x480 pixels) supports serial digital audio input (8k/16k samp/sec, 8 - bit m - law / 16 - bit linear) auxiliary simultaneous external serial bulk - data input (0 to 2mbit/sec). selectable data/clock serial protocols - ideal for camera control low power co nsumption (190mw @ 3.3v) - can use usb power source direct connection to usb port handles device power management (complies with usb standard spec.) fits intel?s mmx ? concept supports most popular software applications that require digital video. available in 100 - pin pqfp and tqfp packages
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 5 of 5
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 6 of 6 product description refer to fig.1 for an internal block diagram of the ZR36504. dvi digital video intrface clk clock generator dvc digital video compressor dvs digital video scaler mau memory access unit usbi universal serial bus interface rbcs register bank control & status pmu power management unit prog. i/o selectable serial protocols dram (4mb, 16mb) m5m4v4265ctp-6,7 m5m4v4260ctp-6 m5m4v18160ctp-6 serial eeprom (optional) 24fc16-sn/p at24c16n-2.7 digital camera (yuv source) camera board logic x t l usb cable ZR36504 chip 12mhz dai digital audio i/f audio codec (optional) oki msm7508b oki msm7716 fuj. mb86435 serial data in (0-2mbps) fig.1 ZR36504 block diagram
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 7 of 7
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 8 of 8 the ZR36504 utilizes a single usb port to enable the host computer to access 4 different data channels simultaneously. these 4 channels are the digital video input (7.5mbit/sec), digital audio input, serial bulk data input, and i/o control (internal registers, programmable i/o pins, and selectable data/clock serial protocols). due to the sophisticated architecture and protocol of the usb, the software application is not required to take care of the time - sharing management of several tasks using a single serial bus; this is handled by the lower - level drivers, so that the application p rogram can access each function of the ZR36504 independently. in normal operation, the ZR36504 will provide the system with the following services: compressed video channel: the ZR36504 connects to a y/u/v video digital source, scales the image on the fly horizontally and vertically, compresses the data down to 0.5 - 7.5mbit/sec, and sends it to the host computer via the usb port. the ZR36504 scaler supports zoom - in like effects, by applying combinations of zooming and cropping built - in functions. the uniq ue method of compression is a special design of zoran, to allow easy and fast de - compression in software only means. the de - compression software driver supplied with the ZR36504, will accept the compressed data and convert it back to standard video formats in less time than it takes to read raw video from any external port. still images can be captured and sent via the usb in the best quality and resolution that the camera can provide. sound system: some camera applications require that a microphone sound system will be implemented inside the camera. also, a composite - video to usb adapter applications requires audio recording support as well. the ZR36504 provides solution for these applications, by multiplexing a serial digital audio input with the video data that is sent via usb port. in such a system, the microphone can be located inside the camera, up to 5 meters away from the host computer. the ZR36504 does not include the audio a/d, and is designed to use an external low - cost telephony audio codec. cam era control: camera (or any video source) control and status monitoring can be carried out by a built - in serial interface, or direct i/o pins. the serial interface supports some commonly used serial protocols. these ports can be used by the application software to control and monitor some other remote devices as well. in a video conference application, this allows the local or remote user to set the focus, zoom, and other parameters of the camera, or even to switch the camera to the power - down mode. the zr 36504 also supports usage of an external capture button that is mounted on the camera board and used for capturing video frames on the host computer disk (this is application dependent; the ZR36504 only delivers the capture command signaling from button to host computer via usb).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 9 of 9 pin assignments (top view) nt1004 usb v ision tm video/audio on usb 50 da2 da6 da5 da4 da7 vdd da3 pwr1 da9 da8 gnd scl/pwr0 sda/eeprom resin gnd sens iicdt iicck usb_vm usb_vp test2(vpd) captrn suspnd pwr_dwn vdda vdd da1 da0 rasn wrn oen casn dd8 dd7 dd9 dd6 dd10 dd5 dd11 dd4 dd12 dd3 dd13 dd2 dd14 dd1 dd15 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 1 2 3 4 5 6 7 8 9 10 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 y0 30 29 28 27 26 y1 vdd gnd y2 y3 y4 y5 y6 y7 u0 u1 u2 u3 gnd u4 u5 u6 u7 v0 v1 v2 v3 v4 v5 clk48 blk_full blk_en dat_in io_2 fs_r bclk gnd vdda io_1 fs_l xout vdda xin gnda fid hsnc vsnc vdd test1(mst) vclk hvalid v6 dd0 gnd gnd v7 gnda pin descriptions pin number signal i/o description 3, 28, 53, 78 vdd digital 3.3v power supply 37, 42, 98 vdda analog 3.3v supply. 37:pll, 42:osc, 98:usb 4, 15, 40, 54, 65, 79, 90 gnd digital ground connection 1, 36 gnda analog ground connection. 1:usb, 36:pll 2, 5 - 11 y0 - y7 i video luminance input from camera. the ZR36504 uses the vclk input to sample this bus. these input pins are 5 - volt tolerant with p.d 12 - 14,16 - 20 u0 - u7 i video chroma u or u/v - components input from camera. the ZR36504 uses the vclk input to sample this bus. these input pins are 5 - volt tolerant with p.d. 21 - 27, 29 v0 - v7 i video chroma v - component input from camera. the ZR36504 uses the vclk i nput to sample this bus in the 24 - bit format mode. v2 - v0 inputs are also used to set the idproduct code. v7 - v3 inputs are also used to set the idvendor code. these input pins are 5 - volt tolerant. should be connected to gnd if not used. 30 test1(mst) i this pin must be connected to gnd.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 10 of 10 31 vclk i video pixel - clock input from camera. this input pin is 5 - volt tolerant. 32 hvalid i video clock enable input qualifier. this input pin is 5 - volt tolerant. should be connected to gnd if not used. pin descripti ons (continued) pin number signal i/o description 33 vsnc i video vertical - sync input signal from camera. this input pin is 5 - volt tolerant. should be connected to gnd if not used. 34 hsnc i video horizontal - sync input signal from camera. this input pin is 5 - volt tolerant. should be connected to gnd if not used. 35 fid i video field - id input signal from camera. this input pin is 5 - volt tolerant. should be connected to gnd if not used. 38 - 39 io - 1 - io - 2 i/o general programmable i/o pins. each of these 2 pins has an open drain 5v tolerant output, and it is supposed to be connected to an external pull - up resistor. the host uses these pins as programmable output ports by writing '0' or '1'. by writing '1' and read back, the host can use these pins as input ports - as this allows any external source to force the pull - up resistor. these outputs are temporarily set to high - z while in the suspend position. 41 xin i crystal oscillator input pin (12 mhz). crystal frequency must have not worse than 100 ppm accurac y. 43 xout o crystal oscillator output pin (12 mhz). 44 blk_full o "bulk - fifo full" indication output signal. this output signal is normally '0', and is set to '1' when the ZR36504 bulk - fifo is full. this output is temporarily set to '0' while in the suspend or power - down position. 45 blk_en i bulk data enable input. when set to '1', bulk input data from dat_in pin is sampled - in by falling edge of bclk into the ZR36504 bulk - fifo. this input pin is 5 - volt tolerant. 46 dat_in i data input pin for both a udio codec tx chan and bulk data in. this input pin is 5 - volt tolerant, and requires an external pull - up resistor. 47 fs_l o audio codec frame - sync pulse for left channel. this signal triggers the beginning of a new audio sample (left chan.) . this output is temporarily set to '0' while in the suspend or power - down position. 48 fs_r o audio codec frame - sync pulse for right channel. this signal triggers the beginning of a new audio sample (right chan.) . this output is temporarily set to '0' while in the s uspend or power - down position. 49 bclk o main clock for both audio codec and bulk data in. this output is temporarily set to '0' while in the suspend or power - down position. 50 clk48 o 48mhz clock output for user application. this output is temporarily set to '0' while in the suspend or power - down position. 51 - 52,55 - 64,66 - 69 dd0 - dd15 i/o dram data bus input/output pins. these pins have internal pull - down resistors, and are temporarily set to high - z while in the suspend or power - down position.. 70 casn o dram column - select control signal. this output is designed to drive 2 input pins of the external dram that are tied together (lcas+ucas). this output is temporarily set to high - z while in the suspend or power - down position. 71 wrn o dram write control signal. this output is temporarily set to high - z while in the suspend or power - down position.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 11 of 11 72 oen o dram read control signal. this output is temporarily set to high - z while in the suspend or power - down position. 73 rasn o dram row - select control signa l. this output is temporarily set to high - z while in the suspend or power - down position. 74 - 77, 80 - 84 da0 - da8 o dram row/column address - bus. these outputs are temporarily set to '0' while in the suspend or power - down position. 85 da9 o dram row/column msbit of address - bus. this outputs is used for 16m drams, and temporarily set to '0' while in the suspend or power - down position.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 12 of 12 pin descriptions (continued) pin number signal i/o description 86 scl/pwr0 i/o serial eeprom clock signal, and lsbit of de vice power code. if an eeprom was detected, then this pin is used as the eeprom clock output signal; otherwise its voltage (vdd or gnd) is used by the ZR36504 as the lsbit of the device power code for the usb device descriptor. if eeprom is detected, this pin is temporarily set to '1' while in the suspend position. 87 sda/eeprom i/o serial eeprom data signal, and eeprom detect pin. if eeprom is used, a 10k w pull - up resistor to vdd should be connected to this pin; otherwise it should be tied to gnd. during a reset operation the ZR36504 samples the voltage level on this pin, to determine if an external eeprom exists. this pin has an open drain output, and is temporarily set to high - z while in the suspend position. 88 pwr1 i msbit of device power code. the voltage level in this input (vdd or gnd) is used by the ZR36504 as the msbit of the device power code for the usb device descriptor. if an external eeprom exists, this input is ignored. 89 resin i power - on reset input. this input is schmitt - trigger type, a nd it is active low. 91 sens o serial control enable signaling. this pin has an open drain output, and is 5v tolerant. it should be connected to an external 3.3 - 10k w pull - up resistor. this output is temporarily set to high - z while in the suspend or power - down position. 92 iicdt i/o camera - control data i/o (supports some commonly used serial protocols). this pin has an open drain output, and is 5v tolerant. it should be connected to an external 3.3 - 10k w pull - up resistor. this output is temporarily set to high - z while in the suspend or power - down position. 93 iicck o camera - control clock output (supports some commonly used serial protocols). this pin has an open drain output, and is 5v tolerant. it should be connected to an external 3.3 - 10k w pull - up resistor. this output is temporarily set to high - z while in the suspend or power - down position. 94 pwr_dwn o camera power - down control. this is an open drain 5v tolerant output. the ZR36504 uses this output to switch on/off the camera and/or external circui t. upon reset operation to the ZR36504, this output is set to high - z (=off). it is also set to high - z in the suspend position, and remains high - z after suspend position is over. 95 suspnd o usb suspend mode control output. this pin is an open drain 5v tolerant output. a power - on reset or a usb - reset clear this output to 0 volt; it is set to high - z when the ZR36504 enters the suspend mode, and cleared back to '0' upon detection of resume condition. 96 captrn i capture command input. this input has an inte rnal pull - up to vdd. when forced to '0', host computer is automatically informed that a video frame capture was requested by user. this input is schmitt - trigger type. 97 test2(vpd) i this pin must be connected to gnd. 99 usb_vp i/o universal - serial - bus positive data line; this line should be connected to an external pull - up resistor of 1.5k w . refer to electrical characteristics table for pin spec. this pin is kept high - z while in the suspend position. 100 usb_vm i/o universal - serial - bus negative data l ine. refer to electrical characteristics table for pin spec. this pin is kept high - z while in the suspend position.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 13 of 13 absolute maximum ratings (voltages referenced to gnd) rating symbol value unit dc supply voltage v dd - gnd - 0.5 to 4.0 v voltage, any pin to gnd v - 0.5 to v dd +0.5 * v dc current drain per pin (excluding v dd , gnd) i 14 ma junction temperature range t j - 40 to +125 o c storage temperature range t stg - 55 to +125 o c * 5.5v for 5 - volt tolerant inputs, and 6.0v for 5 - volt tolerant open - dra in outputs electrical characteristics (v dd =3.3v, t a = 0 to 70 o c) characteristic symbol min typ max unit dc supply voltage (v dd to gnd) v dd 3.0 3.3 3.6 v dc supply current (@ v dd =3.3v) i cc - 58 73 ma suspend mode current (@ v dd =3.3v) i suspend - - 200 m a high level input voltage (other than xin, captrn, and resin) v ih 2.0 - v dd +0.3 * v low level input voltage (other than xin, captrn, and resin) v il - 0.3 - 0.8 v high level input voltage (xin, captrn, and resin) v ih - s.t 0.8 v dd - v dd +0.3 v low leve l input voltage (xin, captrn, and resin) v il - s.t - 0.5 - 0.2v dd v input current v i = v dd +0.3 or gnd i in - 5 +1 +5 m a input capacitance c in - 5 16 pf 3 - state output leakage current v o = v dd +0.3 or gnd i oz - 10 +1 +10 m a output capacitance c out - 5 16 pf high level output voltage (@ iout = - 2ma) v oh v dd - 0.5 - v dd v low level output voltage (@ iout = 2ma) v ol 0 - 0.4 v output short circuit current i os - - 30 ma pull - up / pull - down resistance r pu 25 50 200 k w * vdd+0.3 is for regular inputs. 5 - volt tolerant inputs allow maximum input voltage of 5.25 volt. usb_vp/vm pins electrical characteristics (v dd =3.3v, t a = 0 to 70 o c) characteristic symbol min typ max unit hi - z state data line leakage (@ 0 zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 14 of 14 driver output resistance (@ external serial 24 w resistor) z drv 28 - 43 w video parameters specification parameter symbol value unit digital video input format (1) y/u/v - - down scaling (v/h independent and arbitrary) - up to 16:1 vertical and horizontal - horizontal anti aliasing filter (2) - 2 - 5 taps - vertical anti aliasing filter (2) - 2 - 3 taps - interpolation phase resolution - 360 o /4 - image cropping (v/h independent and arbitrary) - any window of length 1 to full image - video compression ratio cr 1 - 8 - video compressor clock frequency - 48.000 mhz compressed video bit rate - 0.5 to 7.5 mbit/sec - notes: 1. refer to video channel chapter for specification of digital video input modes and waveforms. 2. filter uses interpolation process. usb interface parameters specification parameter value unit usb pipe mode usb maximum data rate 12 mbit/sec - compressed video maximum data rate 7.5 mbit/sec isochronous i/o channel rate capacity (1) 0 - 16 kbit/sec control & bulk notes: 1. i/o channel uses transactions of up to 8 - bytes per package. audio parameters specification parameter symbol value unit digital audio sampling rate fs 8.0/16.0 0.25% khz audio channel bit rate - 64 - 512 kb/sec m - law or a - law - audio codec clock frequency 1.536, 2.048 (1) mhz note: 1. programmable to either 1.536 or 2.048 mhz.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 15 of 15 1. general architect ure the following diagram describes the general architecture of the ZR36504, regarding it as a standard usb device: ZR36504 software drivers buffers host computer end point 0 control type descriptors & configurations end point 1 control type register bank control & status end point3 isochronous data in type audio data ZR36504 camera device message pipe message pipe stream pipe 64-512kb/s end point 2 isochronous data in type video data (compressed or raw) stream pipe 0.5-7.5mb/s bulk pipe 0-2mb/s end point4 bulk data in type
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 16 of 16 the ZR36504 has 5 usb end - points located on chip: * end - point #0: this is the descriptors and configuration end - point, which is mandatory by the usb standard. * end - point #1: this is the ZR36504 register bank; the host computer uses these registers to control the ZR36504 and camera. * end - point #2: this end - point produces and sends the digital video data to the host co mputer. it uses 0.5 to 7.5mb/s of the usb bandwidth, depending on how much bandwidth is available for the camera. * end - point #3: this end - point sends the input digital audio data to the host computer. it uses 64 to 512kb/s of the usb bandwidth, depending on the audio quantization and sampling rate. * end - point #4: this end - point sends the external bulk data input to the host computer. it uses 0 to 2mb/s of the usb bandwidth, depending on the external source of data. the ZR36504 has a default set of usb descriptors on - chip, which are automatically used in absence of an external serial eeprom (otherwise, all descriptors are read from the eeprom). the default descriptors allow the host computer to select one of 4 different configurations to operate the camera. most camera vendors can now use the ZR36504 without an external eeprom. also vendor usb id and product id are now pin - programmable, and do not require to add an extra eeprom. camera vendors need not use an external eeprom for a low - cost solution. th e ZR36504 and a 4mb dram are sufficient for a fully usb standard compatible camera (this includes the specific given vendor id, which identifies the camera with the specific manufacturer). if an external 8 - pin serial eeprom is added, the camera manufacturer can define new configurations (which combine only the available end - points). also, string - descriptors can be added (in multiple languages) to define the camera vendor's name, product name, serial - number, and others; the usb standard regards these feature s as optional. the ZR36504 supports usb power - management - protocol. the camera and external circuits can be power - controlled by their vendor - specific software drivers, via serial data/clock, and i/o ports; also, the pwr_dwn output pin can be used to turn off the local power supply to these external circuits (refer to ZR36504 application notes). the ZR36504 uses a single 12mhz crystal to derive all its internal clock sources. power
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 17 of 17 management also involves switching of internal clock sources which are not i n use in certain modes of operation; this further reduces the power consumption of the device. the ZR36504 has two sources of reset control: the power - on reset that comes from a dedicated input pin resin, and the usb - reset command received from the host computer. both reset sources produce a single reset signal inside the ZR36504, which initializes the ZR36504. it is assumed that a power - on - reset should be applied to the resin pin before any usb transaction is sent to the ZR36504 by host; this is required so that the serial - interface - engine inside the ZR36504 will be able to receive any valid host command that will follow (including a usb - reset command). the total usb bandwidth that is occupied by the ZR36504 is mainly affected by the bandwidth of the video data stream (end - point #2). in order for a host computer, which initially has a small available bandwidth, not to reject the camera device, the ZR36504 uses the alternate - interface mechanism to enable variable bandwidth. this allows the host computer t o select the highest bit - rate that it can reserve for the video stream, starting from 7.5mb/s down to 0.5mb/s in 0.5mhz down steps (the selected bit - rate affects the video quality).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 18 of 18 2. registers bank (control and status) the ZR36504 uses the end - point #1 message pipe for ZR36504 and camera control. as a bi - directional pipe, this channel allows the host computer to write contents to control registers, as well as to read status registers. also, the control registers can be read by host computer to check the ir contents. all registers are byte - oriented. the following section defines a usb vendor - specific protocol for read and write operations applied to the ZR36504 register bank. this protocol uses a standard usb request of a vendor - specific type (defined in chapter 9.3 of usb standard rev.1.0) to perform a data transfer of up to 8 bytes long to/from end - point #1. a single write operation will write 1 - 8 concurrent bytes to the register bank, and a single read operation will read 1 - 8 concurrent bytes from the r egister bank. the usb request command always defines the address of the first i/o - register to be read or write; this address is automatically incremented by the ZR36504 for the following data bytes. the first byte of the usb request command defines the direction of the data transfer (0x42 for write, and 0xc2 for read); the second byte is a ZR36504 specific code - 0x33. the address of the first i/o - register in list is defined in the windex parameter of the standard usb request command (these are bytes 4 & 5 of the command). all the other bytes in the request command are not important to the ZR36504.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 19 of 19 write transaction protocol: out pid device address end-point #1 host initiates write operation data0(1) pid data-byte #1 data-byte #2 (optional) data-byte #8 (optional) reg data ack pid nt1004 sends handshake to host ack pid nt1004 sends handshake to host setup pid device address end-point #1 host initiates i/o-reg operation byte0=0x42 byte1=0x33 byte4 = ra i/o-reg address byte5=0x00 host defines reg-address in pid ack pid host sends handshake to nt1004 host terminates setup command ...empty in packet the following table specifies the addresses where the ZR36504 stores each of the bytes that appear in the data - section of the usb out transaction. these addresses relate to the contents of the windex parameter (bytes 4&5 of the setup command), which is denoted here by ra . data byte # contents description 1 out data will be stored in register at address ra. 2 out data optional. will be stored in register at address ra+1. 3 out data optional. will be stored in register at address ra+2. 4 out data optional. will be stored in register at address ra+3. 5 out data optional. will be stored in register at address ra+4. 6 out data optional. will be stored in register at address ra+5. 7 out data optional. will be stored in register at address ra+6. 8 out data optional. will be stored in register at address ra+7.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 20 of 20 read transaction protocol: in pid device address end-point #1 host initiates read operation data0(1) pid data-byte #1 nt1004 sends data bytes 1-8 ack pid host sends handshake to nt1004 ack pid nt1004 sends handshake to host setup pid device address end-point #1 host initiates i/o-reg operation byte0=0xc2 byte1=0x33 byte4 = ra i/o-reg address byte5=0x00 host defines reg-address out pid ack pid nt1004 sends handshake to host host terminates setup command ...empty out packet data-byte #2 (optional) data-byte #8 (optional) data byte # contents description 1 register data byte read from register at address ra. 2 register data optional. byte read from register at address ra+1. 3 register data optional. byte read from register at address ra+2. 4 register data optional. byte read from register at address ra+3. 5 register data optional. byte read from register at address ra+4. 6 register data optional. byte read from register at address ra+5. 7 register data optional. byte read from register at addr ess ra+6. 8 register data optional. byte read from register at address ra+7. note: reading from an address that does not exist is legal, but will return unpredicted data.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 21 of 21 the tables in the following pages specify all the control and status registers in the ZR36504. a brief description is given for every specific bit in these registers, and the default values (after reset operation) are defined. for more details about a specific register, consult the appropriate session in this data sheet. general con trol registers (power, restart ep, usb, io - pins, camera control): reg. address reg. name function default value 0 pwr_reg d0: wd_en: '1' enables usb watch - dog timer d1: sspnd_en: '0' enables suspend - resume logic d2: res2: '0' restarts end - point #2 logic, '1' releases d3: clk48_en: '1' enables 48mhz at clk48 output pin. d4: reserved d5: pwr_vid: '1' video - logic power - on d6: reserved d7: e2_en: '1' enables eeprom r/w 00h 1 config_reg d7 - d0: configuration (set via usb). read - only reg. 00h 2 adrs_reg d6 - d0: device address (set via usb). read - only reg. d7: '0'. reserved. 00h 3 alter_reg d3 - d0: video bandwidth (set via usb). read - only reg. d7 - d4: '0000'. reserved. 00h 4 force_ alter_reg d3 - d0: new_alt forced video bandwidth. r/w reg. d7: force_alt ('1'=force, '0'=ignore) d6 - d4: '000'. reserved. 00h 5 status_reg d0: vfrm_blnk vertic. blank (if '1'). read - only reg. d7 - d1: '0000000'. reserved. 00h 6 iopin_reg d0: io_1 read/write level of ZR36504 pin io - 1 d1: io_2 read/write level of ZR36504 p in io - 2 d7 - d4: test[3..0], must be '0000' for proper operation. d3 - d2: '00'. reserved 00h 7 ser_mode d7 - d4: mode (soft, iicc, cam1,cam2,,,) normally (when not in soft mode): d0: clk_rate ('0' = 93.75khz, '1' =1.5mhz) d1: clk_pol ('0' = normal, '1' = inverted) d2: test(auto bulk). must be '0' for proper operation. d3: vsync ('1' = wait to new input video field) soft mode: d0: clk_out (functional in soft mode only) d1: dat_io (functional in soft mode only) d2: sens_out (functional in soft mode only) 0 0h 8 ser_adrs d7 - d0: address of serial device/camera - param. 00h 9 ser_cont d2 - d0: ser_len number of bytes to wr/rd d3: ser_dir ('0' = wr, '1' = rd) d4: ser_go/ser_busy d5: nack_rcv (read - only. '1' means not ack.) d6: continue (do not send start signal next time) d7: no_stop (do not send stop signal this time) 00h 10 ser_dat1 d7 - d0: 1 st serial byte to be sent/received 00h 11 ser_dat2 d7 - d0: 2 nd serial byte to be sent/received 00h 12 ser_dat3 d7 - d0: 3 rd serial byte to be sent/received 00h 13 ser_dat4 d7 - d0: 4 th serial byte to be sent/received 00h
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 22 of 22 eeprom read/write registers: reg. address reg. name function default value 14 ee_data d7 - d0: eeprom byte to be written/read 00h 15 ee_lsbad d7 - d0: 8 - lsbits of byte address in eeprom 00h 16 ee_cont d2 - d0: 3 - msbits of byte address in eeprom d3: ee_dir ('0' = write, '1' = read) d4: ee_go/ee_busy d7 - d5: ee_clk_force (this field is read - only) 00h or xxx0000 (when no eprom) dram and memory buffers setup registers: reg. address reg. name funct ion default value 18 drm_cont d0: ref ('0' = 8.2ms, '1' = 128ms refresh rate) d1: dram_size. '0' selects 4m, '1' selects 16m d2: res_ur restart video out buff. read logic d3: res_fdl restart video - frame - delay logic d4: res_vdw restart vid.out buff. write logic d5: bit 9 of ur_1st_row parameter (16m only) also bit 9 of vdw_1st_row parameter (16m only) d6: bit 9 of ur_lst_row parameter (16m only) also bit 9 of vdw_lst_row parameter (16m only) d7: drm_col_slct for ur/vdw_lst_row 00h 19 drm_p rm1 d0: bit 8 of ur_1st_row parameter d1: bit 8 of ur_lst_row parameter d2: bit 8 of fdl_1st_row parameter d4 - d3: bits 17 - 16 of fdl_lst_word param. d5: bit 8 of vdw_1st_row parameter d6: bit 8 of vdw_lst_row parameter d7: bit 18 of fdl_lst_word param (16m only). 00h 20 drm_prm2 d7 - d0: bits 7 - 0 of ur_1st_row parameter 00h 21 drm_prm3 d7 - d0: bits 7 - 0 of ur_lst_row parameter 00h 22 drm_prm4 d7 - d0: bits 7 - 0 of fdl_1st_row parameter 00h 23 drm_prm5 d7 - d0: bits 7 - 0 of fdl_lst_word param. 00h 2 4 drm_prm6 d7 - d0: bits 15 - 8 of fdl_lst_word param. 00h 25 drm_prm7 d7 - d0: bits 7 - 0 of vdw_1st_row parameter 00h 26 drm_prm8 d7 - d0: bits 7 - 0 of vdw_lst_row parameter 00h video setup and control registers: reg. address reg. name function default value 27 vin_reg1 d2 - d0: vin_mode digital video input format d3: vsnc_pol vertical - sync. pulse polarity d4: hsnc_pol horizontal - sync. pulse polarity d5: fid_pol field identity signal polarity d6: hvalid_pol pixel envelope polarity d7: vclk_pol ('1'=data valid o n up - going clock) 00h 28 vin_reg2 d0: auto_fid auto field identity generation. when set to '1', the ZR36504 ignores the fid input from camera, and generates an internal toggling signal of its own instead. 00h
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 23 of 23 d1: none_interlace interlace/non - interlace mode. if set to '1', all the input fields from camera are processed, otherwise the odd fields are ignored. d2: no_hvalid if set to '1', hvalid input ignored. d3: uv_id if set to '1', use v7 pin as uv - id ('1'=u). d4: fix_2c if set to '1', u7 & v7 are inverted ( 2's comp ). d5: send_fid if set to '1', frame_phase[0]=fid. d6: '0' reserved. d7: keep_blank set to '1' to drop incoming frames. video setup and control registers (continued): reg. address reg. name function default value 29 lxsize_in d7 - d0: bits 7 - 0 of input video line length 00h 30 mxsize_in d1 - d0: bits 9 - 8 of input video line length d7 - d2: '000000' reserved. 00h 31 lysize_in d7 - d0: bits 7 - 0 of input video number of lines 00h 32 mysize_in d1 - d0: bits 9 - 8 of input video number of lines d7 - d 2: '000000' reserved. 00h 33 lx_offst d7 - d0: bits 7 - 0 of input video horizontal offset 00h 34 mx_offst d1 - d0: bits 9 - 8 of input video horizontal offset d7 - d2: '000000' reserved. 00h 35 ly_offst d7 - d0: bits 7 - 0 of input video vertical offset 00h 36 my_offst d1 - d0: bits 9 - 8 of input video vertical offset d7 - d2: '000000' reserved. 00h 37 frm_rate d4 - d0: frame - rate factor numerator for video data output d6 - d5: frame - rate factor denumerator code: '00': 32, '01': 30, '10': 25 d7: '0' res erved. 00h 38 lxsize_o d7 - d0: bits 7 - 0 of output video line length 00h 39 mxsize_o d1 - d0: bits 9 - 8 of output video line length d7 - d2: '000000' reserved. 00h 40 lysize_o d7 - d0: bits 7 - 0 of output video number of lines 00h 41 mysize_o d1 - d0: bits 9 - 8 of output video number of lines d7 - d2: '000000' reserved. 00h 42 filt_cont d2 - d0: xfilt_cont horizontal - filter select d4 - d3: yfilt_cont vertical - filter select d7 - d5: '000' reserved. 00h 43 vo_mode d5 - d0 digital video - out format (4:2:2, 4:2:0, compress.) d6: ('1' = compressed vid, '0' = raw) d7: '0' reserved. 00h 44 intra_cyc d7 - d0: intra - compression cycle (in frame units) 00h 45 strip_sz d3 - d0: act_strip actual strip width (# of vid.lines) d7 - d4: virt_strip virtual strip width (# of vid.lines) 00h 46 force_intra d0: ('1' = force next frame intra) d7 - d4: min_denum[3..0] d3 - d1: '000' reserved. 00h 47 force_up d0: ('1' = force up - mode intra segments) d7 - d1: strip_dat_limit[6..0]. 00h 48 buf_thr d7 - d0: threshold for buffer space frame - drop decision (giv en in units of 2kb). 00h 49 dvi_yuv d2 - d0: code for yuv re - order processor. d4 - d3: buf_thr[9..8]. extension for 16mbit dram 00h
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 24 of 24 d6: slow_clk12 '1' select 12mhz for horiz. blank d7: slow_clk16 '1' select 16mhz for horiz. blank d5: '0' reserved. audio & bulk - data port read/write registers: reg. address reg. name function default value 50 audio_cont d0: e_a - enable audio channel ('1' enables, '0' disables) d1: e_b - enable bulk - data port ('1' enables, '0' disables) d3 - d2: bps - bits/samp: 00: 8b, 01: 12b, 10: 14b, 11: 16b d4: s/m - select stereo/mono. '0': mono, '1': stereo. d5: fs - audio samp.rate: '0': 8ks/sec, '1': 16ks/sec. d7 - d6: bk - bit - clk freq: 1: 64, 2: 1544, 3: 2048 [khz] 00h 51 aud_pk_len d7 - d0: max. number of bytes in audio packet (0 to 128). 00h 52 blk_pk_len d6 - d0: max. number of bytes in bulk packet (0 to 64). d7: '0' reserved. 00h usb watch - dog register: reg. address reg. name function default value 53 wd_count d7 - d0: usb_frame watch - dog delay parameter. a value 0x00 p roduces a 686 micro - seconds delay. a value of 0xe9 produces a 996 micro - seconds delay. any value between these two values affects the delay in steps of 1.33 micro - seconds. values bigger than 0xe9 have no effect. 00h compression ratio management registers (continued): reg. address reg. name function default value 56 pcm_thr1 d7 - d0: pcm threshold 1 (unsigned 0 - 255) 00h 57 pcm_thr2 d7 - d0: pcm threshold 2 (unsigned 0 - 255) 00h 58 dist_thr_i d7 - d0: dist_thr_i (distortion. threshold for inter) 00h 59 dist_ thr_a d7 - d0: dist_thr_i (distortion. threshold for intra) 00h 60 max_dist_i d7 - d0: max_dist (maximum distortion for inter) 00h 61 max_dist_a d7 - d0: max_dist (maximum distortion for intra) 00h 62 vid_buf_ left d7 - d0: space left in ZR36504 dram buffer for compressed video data (given in units of 2kb). read - only register. 00h 63 lfp_lsb d7 - d0: bits 10 - 3 of last_frm_pntr (dram pointer). read - only register. 00h 64 lfp_msb d6 - d0: bits 17 - 11 of last_frm_pntr (dram pointer) d7: ram_full ('1' if event occurred from last read). read - only register. 00h 65 vid/lpf d1 - d0: vid_buf_left[9..8]. ext. for 16mbit dram. d3 - d2: lpf[19..18]. extension for 16mbit dram. d7 - d4: '0000' reserved. read - only register. 00h
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 25 of 25 3. power management in order to meet the usb standard, the ZR36504 should be able to control usb power supply for the whole device. two pins of the ZR36504 were dedicated to this task: pwr_dwn and suspnd. both pins are open - drain, and active when hi - z. the usb standard requires that soon after a device is hot - co nnected to the computer, it should consume no more than 100ma from usb port; after configuration, the device may consume up to 500ma from the port. also it is required that in the suspend mode the device must not consume more than 0.5ma from the usb port. the ZR36504 uses its power management pins as follows: t the pwr_dwn pin was designed to switch the usb 5v source to the video/audio source circuit (ccd, dsp, adc, m - controller, video - decoder, audio codec, etc.). the only ics that continue to get normal po wer supply in the power - down state are the ZR36504, dram, and eeprom (all these are 3.3v operated). t the suspnd pin was designed to enable the designer to shut - down any additional element in the ZR36504 application circuit, which may increase the total current consumption to more than the usb standard allows (> 0.5ma). refer to the ZR36504 application notes for an example of how the pwr_dwn and suspnd pins should be used, and for the 3.3v supply in application design. the ZR36504 software driver can contr ol part of the power - management process through the following registers of the ZR36504: parameter register address usage sspnd_en reg.0/d1 sspnd_en enable suspend state: 0: default (after reset). responds to usb suspend condition as required by usb standard. 1: suspend state is disabled pwr_vid reg.0/d5 pwr_vid apply usb 5v to video/audio source 0: default (after reset). video/audio source is off 1: video/audio source is powered on res2 reg.0/d2 res2 restart end - point #2 (vid. pipe) in t he ZR36504: 0: default (after reset). restart ZR36504 video path. 1: enable ZR36504 video processor and pipe circuit (after video source is powered on). after usb - reset, the ZR36504 is in its power down state (pwr_dwn pin is hi - z). after configuration, software sets pwr_vid bit to '1' to turn on camera circuit
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 26 of 26 (pwr_dwn='0'). suspend (if sspnd_en bit not set by s/w), occurs if usb idle state detected for 3ms, and it also resets pwr_vid bit.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 27 of 27 4. video input interface the ZR36504 digital video input is yuv format. the ZR36504 interface for this format is flexible and supports 4:4:4 (24 - bit) as well as 4:2:2 (8 - bit, or 16 - bit), and 4:1:1 timings (12 - bit). horizontal and vertical controls can be physical pulses or coded signals; also, pixel clock and pulse polarity of control signals can be programmed to be either positive or negative. all the input buffers in the ZR36504 that are supposed to be connected to the digital video source are 5 - volt tolerant. this means that a camera that has 5 - volt cmos outputs will not cause any damage to the ZR36504, even though the ZR36504 operating voltage is 3.3 volts. the ZR36504 digital video input consists of the following signals: y0 - y7 in the 4:4:4 format (24 - bit), 4:2:2 16 - bit, and 4:1:1 (12 - bit) modes, this is the luminance input bus. in the 4:2:2 8 - bit mode, this bus is used for mux yuv data. this bus is sampled by the vclk input clock for the unsigned binary value (0 - 255) of the y component (or u and v as well in the 8 - bit mode). u0 - u7 this is the color (u or u/v ) input bus. in the 4:4:4 format (24 - bit), this bus is sampled by the vclk input clock for the unsigned binary value (0 - 255) of the u component. in the 4:2:2 16 - bit and 4:1:1 (12 - bit) formats, this bus is sampled by the even cycles of vclk input clock for the binary value (0 - 255) of the u component, and by the odd cycles of vclk input clock for the binary value (0 - 255) of the v component. v0 - v7 this is the color (v) input bus, which is used in the 4:4:4 format only. this bus is sampled by the vclk input cl ock for the binary value (0 - 255) of the v component. in the 4:2:2 mode (16 - bit or 8 - bit) and the 4:1:1 mode (12 - bit), most of this bus is ignored by the ZR36504 - only v7 is used as an optional u/v identifier. vsnc this is the vertical synchronization pulse, which indicates the start of a new video field (in interlace mode) or the start of a new video frame (in non - interlace mode). normally this pulse is negative. hsnc this is the horizontal synchronization pulse, which indicates the start of a new video line. normally this pulse is negative.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 28 of 28 fid this signal is used in the interlace mode, to indicates whether the current field is even or odd. in the non - interlace mode this input is ignored by the ZR36504. vclk this signal is the video pixel clock. it is used by the ZR36504 to sample all the other inputs in the digital video interface. hvalid this input is the pixel valid qualifier. when not active, the ZR36504 refers to the samples that come from the y, u, and v buses as blank pixels (which are not consi dered a part of the digital image). the ZR36504 can be programmed to ignore the hvalid input. the timing of a camera signal that the ZR36504 expects to receive in its digital video interface is normally as specified in the following timing diagram:
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 29 of 29 odd field (if interlace) even field (if interlace) first line last line vsnc hsnc fid hsnc hvalid vclk y[0:7] u[0:7] v[0:7] y0 u0 v0 y1 y2 u1 u2 v1 v2 xx xx xx xx xx xx yuv-4:4:4 mode (24-bit) y[0:7] u[0:7] y0 u0 y1 y2 v0 u2 xx xx xx xx yuv-4:2:2 mode - 16-bit. note that the order of u/v is set by reg.49/d0. v2 u4 v4 y3 y4 y5 y3 u3 v3 not less than 63us not more than 53us v7 vclk y[0:7] u0 yuv-4:2:2 mode 8-bit. note that the order of y/u/v is set by reg.49/d2-d0 y0 v0 y1 u2 y2 v2 y3 u4 y4 v4 y5 u6 y6 v6 y7 u8 y8 v8 note: in the yuv 8 - bit mode the vclk frequency is twice the pixel rate.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 30 of 30 vclk y[0:7] u[0:3] y0 vm0 y1 y2 um0 vl0 xx xx xx xx yuv-4:1:1 mode (12-bit) y3 ul0 vm1 um1 y4 y5 vm0 = v0[7..4], vl0 = v0[3..0] um0 = u0[7..4], ul0 = u0[3..0] video interface timing parameters vclk vsnc, hsnc, fid, hvalid, y[0:7], u[7:0], v[7:0] valid 90% 10% 90% 90% 10% 10% tsu > 15ns th > 10ns vclk_pol = '0' vclk_pol = '1' input video parameters the ZR36504 was designed to interface to m ost available yuv formats. to make this possible, most of video parameters are programmable via specific registers from the ZR36504 register bank. the following tables specifies all the parameters that can be set by host computer to fit a specific video source (digital camera, video decoder, etc.):
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 31 of 31 parameter register address usage vin_mode[2..0] reg.27/d2 - d0 vin_reg1 video input mode: 000: 8 - bit 4:2:2 mode, using synchronization pulses 001: 8 - bit 4:2:2 mode, using ccir 656 sync. codes 010: 16 - bit 4:2:2 mode, using synchronization pulses 011: 16 - bit 4:2:2 mode, using ccir 656 sync. codes 100: 24 - bit 4:4:4 mode, using synchronization pulses 110: 12 - bit 4:1:1 mode, using synchronization pulses 101, 111: spare. vsnc_pol reg.27/d3 vin_reg1 polarity of vsnc pulse: 0: synchronize on up - going edge 1: synchronize on down - going edge hsnc_pol reg.27/d4 vin_reg1 polarity of hsnc pulse: 0: synchronize on up - going edge 1: synchronize on down - going edge fid_pol reg.27/d5 vin_reg1 polarity of fid (field identifier in interlace mode) : 0: fid='0' during first (odd) field 1: fid='0' during second (even) field hvalid_pol reg.27/d6 vin_reg1 polarity of hvalid signal: 0: input signal hvalid='1' for active pixels 1: input signal hvalid='0' for active pixels vclk_pol reg.27/d7 vin_reg1 polarity of vclk (pixel clock): 0: camera data valid at vclk falling edge 1: camera data valid at vclk rising edge auto_fid reg.28/d0 vin_reg2 0: use external fid signal 1: generate internal toggling fid. ignore fid pin. non_interlace reg.28/d1 vin_reg2 0: interlace mode. only even fields are transferred. 1: non - interlace mode. all frames are transferred. no_hvalid reg.28/d2 vin_reg2 0: normal operation 1: ignore the hvalid input (assume constant '1') uv_id reg.28/d3 vin_reg2 0: normal operation 1: use v7 input as a u/v identifier ('1'=u, '0'=v) fix_2c reg.28/d4 vin_reg2 fix 2's compliment u/v values 0: normal operation 1: invert u[7] and v[7] to fix to unsigned binary xsize_in[9..0] regs.29 - 30 lxsize_ in mxsize_in number of pixels in active line of video source
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 32 of 32 (continued...) parameter register address usage ysize_in[9..0] regs.31 - 32 lysize_in mysize_in number of active lines in frame (/field) of video source x_offst[9..0] regs.33 - 34 lx_offst mx_offst horizontal offset (number of pixels to be skipped after start of line). y_offst[9..0] regs.35 - 36 ly_offst my_offst vertical offset (number of lines to be skipped after start of frame). dvi_yuv[2..0] reg.49/d2 - d0 dvi_yuv order of ya/u/v/yb components of a pixel - pair in 8 - bit modes (d0 affects 16 - bit mode also): d0: '0': u comes before v '1': u comes after v d1: '0': ya comes before u/v '1': ya comes after u/v d2: '0': yb comes before u/v '1': yb comes after u/v slow_clk12 slow_clk16 reg.49/d7 - d6 dvi_yuv use these control bits for cameras that have slow vclk or too short horiz.blank time interval: d6: '0': normal operation '1': select 12mhz clock during horiz.blank d7: '0': normal operation '1': select 16mhz clock during horiz.blank frame - rate control normally a camera or any other video source provides a fixed number of frames per second - for example, a ntsc based camera will always provide 30 frames/sec. the ZR36504 allows the application software to modify the effective frame rate to fit its needs; in this way some of the frames coming from camera are dropped before processing, which eliminates the effort that could be wasted on those frames that would be dropped by the computer anyway. the parameter that contro ls the effective frame - rate is called frm_rate, and is specified in the following table: parameter register address usage numerator[4..0] reg.37/d4 - d0 n frame drop factor ( n = 0 - 31). effective frame rate is: ntsc: 30*( n +1)/ d pal: 25*( n +1)/ d denum.code[1..0] reg.37/d6 - d5 code for d '00': d =32 '01': d =30 '10': d =25
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 33 of 33 the n parameter ranges from 0 to d - 1. the value n = d - 1 indicates to the ZR36504 to transfer to host computer full frame - rate that is delivered from the video source. any value n that is less than d - 1 results in a frame - dropping from time to time, so that the effective frame rate is only ( n +1)/ d of full frame - rate. video scaling the ZR36504 has two independent down scalers: one for frame width and one for frame height. it is the responsibility of the software application to select such scale factors that result in a reasonable aspect ratio. in order to set the scaling factor, the host computer should just specify the desired size of the output frame (assuming xsize_in & ysize_in are initially set). scaling is done automatically by the ZR36504, regarding the output frame size versus the input frame size. the following table specifies the parameters that are used to set the output frame size: parameter register address usage xsize_o[9..0] regs.38 - 39 lxsize_o mxsize_o number of pixels in line of scaled output video frame ysize_o[9..0] regs.40 - 41 lysize_o mysize_o number of lines in scaled output video frame/field note that if host computer specifies the same values fo r input frame size and output frame size, then no scaling occurs (scaling factor is 1:1). the ZR36504 performs no up - scaling (1) . this means that xsize_o should never be greater than xsize_in, and ysize_o should never be greater than ysize_in. (1) to produce cif size from 240 - line video fields, a special interpolation process is applied by software driver. video filters the ZR36504 uses internal programmable anti aliasing filters for the scaling process. there are two filters that are used: one for the horizontal scaling, and the other for the vertical scaling. the filters are programmed independently of each other, and independently of the scaling factors. both horizontal and vertical filters use a combination of fir structure and interpolation to eliminate the pixel jitter in the output frame. the interpolation process effectively improves x4 the resolution of the input frame both horizontally and vertically.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 34 of 34 the following table specifies the register that is used to set the filter parameters: param eter register address usage xfilt_cont[2..0] reg.42/d2 - d0 filt_cont select one of 5 possible horizontal filters yfilt_cont[1..0] reg.42/d4 - d3 filt_cont select one of 3 possible horizontal filters the following table specifies the horizontal filters: xfilt_cont[2..0] fir filter applied (horizontally) interpolation (horizontally) 000 fir = (1.0) no 001 fir = (1.0) yes 010 fir = (0.5, 0.5) yes 011 fir = (0.25, 0.5, 0.25) yes 100 fir = (0.25, 0.25, 0.25, 0.25) yes the following table specifies the ve rtical filters: yfilt_cont[1..0] fir filter applied (vertically) interpolation (vertically) 00 fir = (1.0) no 01 fir = (1.0) yes 10 fir = (0.5, 0.5) yes video output format the ZR36504 supports 3 different formats for the output video data: one is the compressed data format, and the other two are yuv 4:2:2 and 4:2:0 raw data formats. the following table specifies the register that is used to set the output video format: parameter register address usage vo_mode[6..0] reg.43/d6 - d0 vo_mode select on e of 3 video output formats: 0x60 = compressed data format 0x03 = yuv 4:2:2 interleaved format 0x14 = yuv 4:2:0 planar format it is the responsibility of the ZR36504 software driver to make conversions to provide the application software with several os standard video data formats, but the data that is transferred via usb must be one of these 3 formats.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 35 of 35
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 36 of 36 compressed data format the ZR36504 compressor is designed to compress yuv 4:2:0 frames (12 bit/pixel) in a factor between 1:3 to 1:15 (resulting in 4 t o 0.8 bit/pixel). the compression algorithm is a proprietary development of zoran, which meets 3 important requirements that were made to guarantee the high performance of the ZR36504: t fits the selectable bandwidth of the usb (0.5 - 7.5 mbit/sec) t variable compression rate (in very small steps) t requires minimum cpu time for decompression (also, fits mmx ? concept) the ZR36504 compressor compresses specific frames using its intra mode, and all the others - using its inter mode. the intra mode does not require any one of the previous frames, while the inter mode is always based on the reconstructed previous frame. the intra frames provide the algorithm some robustness against error propagation between frames, but consume more bits per pixel than the inter frames. error propagation within the frame itself (from higher lines to lower lines) is eliminated by dividing the frame into many horizontal strips. the ZR36504 uses 6 parameters to determine how deep a compression to apply. these parameters are expected to b e dynamically modified by the software driver in order to achieve the desired frame rate for a given usb bandwidth. the following table specifies the registers that are used to control the intra/inter relationship, and the number of lines in every strip. the table also contains the special threshold parameters that affect the compression rate. note that these parameters are only relevant when using the compressed data format: parameter register address usage intra_cyc[7..0] reg.44 intra_cyc automatic in tra cycle length. specifies the number of inter frames between every two automatic intra frames: n = 0: apply intra mode on all frames n = 1 - 254: allow n inter frames between every two automatic intra frames. n = 255: never apply intra mode automatically force_intra reg.46 force_intra force intra mode on all new frames. the software driver is supposed to set this bit temporarily to prevent a channel error from propagating to further frames. 0: normal operation (do not force intra) 1: force intra mode force_up reg.47 force_up force usage of previous video line to compress current line. the software driver may set this bit to 1 if certain cameras are used as the video source.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 37 of 37 0: normal operation (do not force) 1: force dependency on previous line. act_strip[3..0] reg.45/d4 - d0 strip_sz actual strip width. this parameter specifies to the ZR36504 compressor how many video lines should be packed into a single strip packet. a strip packet contain s up to 400 bytes. virt_strip[3..0] reg.45/d7 - d4 strip_sz virtual strip width. this parameter specifies to the ZR36504 compressor the maximum number of video lines that are allowed to be dependent. n = 0: use same value as act_strip n = 1 - 14: use 4xn lines for virtual strip width n = 15: use frame full height for virtual strip width (continued...) parameter register address usage strip_dat_ limit[6..0] reg.47/d7 - d1 force_up this parameter specifies the maximum number of bytes to be packed in a single actual strip. the default value of this parameter is 0, and it sets the max number of bytes to 400. any other value n between 1 - 127 will set the max number of bytes to 273+n. pcm_thr1[7..0] reg.56 pcm_thr1 compression threshold 1. recommended range: [0,20] (0 for best quality, 20 for minimum bits/pixel). pcm_thr2[7..0] reg.57 pcm_thr2 compression threshold 2. recommended range: [0,9] (0 for best quality, 9 for minimum bits/pixel). dist_thr_i[7..0] reg.58 dist_thr_i compression average distortio n threshold for inter frames. recommended range: [0,255] (0 for best quality, 255 for minimum bits/pixel). dist_thr_a[7..0] reg.59 dist_thr_a compression average distortion threshold for intra frames. recommended range: [0,200] (0 for best quality, 200 for minimum bits/pixel). max_dist_i[7..0] reg.60 max_dist_i compression maximum distortion threshold for inter frames. recommended range: [0,50] (0 for best quality, 50 for minimum bits/pixel). max_dist_a[7..0] reg.61 max_dist_a compression maximum distort ion threshold for intra frames. recommended range: [0,28] (0 for best quality, 28 for minimum bits/pixel).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 38 of 38 yuv 4:2:2 interleaved format in this format the ZR36504 transfers to host computer 2 bytes per every pixel (16 - bit/pixel). the y - component is available for every pixel, but the u and v components are each available for every second pixel (y0,u0,y1,v2,y2,u2,y3...). yuv 4:2:0 planar format in this format the ZR36504 transfers to host computer 3 bytes per every 2 pixels (12 - bit/pixel). the y - compon ent is available for every pixel, but the u and v components are only available for every second pixel in even lines. in this mode the host computer gets the frame already formatted in the planar mode; this can save cpu time in the host computer in most video conferencing applications. the y and u/v components are packed by the ZR36504 in 64 - bytes packets, and have the following structure: packet number contents 1 pixels 0 - 63 of the y - image 2 pixels 64 - 127 of the y - image 3 pixels 0 - 63 of the u - image (o r v - image) the u - image and v - image are half - size of the y - image in both horizontal and vertical dimensions. the ZR36504 produces a line of u pixels followed by a line of v pixels, and then u pixels again in a toggling manner. these pixels are always packed in this modulo - 3 packet. the host computer - knowing the frame - size - can separate between u and v components. 4 pixels 128 - 191 of the y - image 5 pixels 192 - 255 of the y - image 6 pixels 64 - 127 of the u - image (or v - image) . . . video buffer cont rol registers the ZR36504 uses a pre - defined dram space to store the output video data before being transferred to usb; this buffer is called video buffer, and it is used as a fifo which observes data bursts at the video frame rate (up to 30hz) and supplies data bursts at the usb frame rate (1000 packets per second).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 39 of 39 the size of the video buffer is set by the host computer via the dram registers. depending on usb bandwidth and output frame size and rate, this buffer may become full in the middle of a vide o streaming. in this case, additional frames will be dropped out by the ZR36504, until enough free space is available in buffer. when operating in the compressed mode, the host computer can alter the compression rate by modifying some threshold registers on the fly; in this way it can prevent most of the "buffer - full" events, which results in a stable frame - rate (that is to say, frames are not dropped). to enable the host computer to monitor the status of the video buffer and control frame - dropping, the zr3 6504 provides the following registers: parameter register address usage buf_thr [9..0] reg.48/d7 - d0 reg.49/d4 - d3 minimum remaining buffer space to begin frame dropping (units are in 2kb). "buffer - full" occurs when remaining buffer space is less than the value in this register. the host computer sets this register according to the maximum space that a video frame may occupy. vid_buf_left [9..0] reg.62/d7 - d0 reg.65/d1 - d0 this is a read - only register that provides the actual remaining buffer space (units are in 2kb). the host computer can prevent "buffer - full" occurrence by monitoring this register and changing compression thresholds. lfp [19..0] reg.63/d7 - d0 reg.64/d6 - d0 reg.65/d3 - d2 this is a read - only register that provides the dram address for data write in the video buffer at the end of every video - frame (units are in 16 - byte). the host computer can keep track of the current compression rate by monitoring this register from time to time. special video control bits the ZR36504 has two special bi ts in the vin_reg2 register, which can alter the input video sequence. these bits are normally used during still capture operation, and are specified in the following table: parameter register address usage send_fid reg.28/d5 vin_reg2 send fid information in frame header data. the fid information is used for reconstructing a 2 - field frame from an interlace camera. 0: default value. 1: fid bit overrides bit 0 of frame_phase[4..0]. keep_blank reg.28/d7 vin_reg2 force a "blank" position on the input video f rame source, and drop new frames. software driver should take care to switch this bit from '0' to '1' during a true blank position. 0: default value.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 40 of 40 1: keep existing blank longer by forcing "blank".
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 41 of 41 usb pipe video data format data packets: the video data is received by the host computer as a stream of bytes via end - point 2 isochroneous pipe. there is an incoming data packet every 1ms (every usb - frame), and its size is limited by the maximum bandwidth that was initially set for end - point 2; the maximum byte - count for each packet is one of the following numbers: 959 (for 7.5mb/sec), 895, 831, 767, 703, 639, 575, 511, 447, 383, 319, 255, 191, 127, or 63 (for 0.5mb/sec). regarding the data on the usb - the data of a new video - frame always starts in a new data packet, so in most cases the last packet of a video frame is shorter than a normal packet. the ZR36504 sends one ore more empty packets between every two video frames. video frame synchronization: in all modes of operation (compressed or raw video) tw o concurrent video frames will be separated by at least one empty data packet. this is used by the ZR36504 s/w driver to detect a start - of - video - frame. also, the first two bytes of the video frame header contain a start - of - video - frame - pattern (=0xaa55), which are used by s/w driver as a qualifier to verify that the data represents an uncorrupted video - frame. video frame header: every video frame has a header that comes first. the header data is organized in little - endian format; that's to say, the lsb of a 2 - bytes parameter comes prior to the msb (lsb occupies the lower address). the same header format is used in all modes of operation. the following table specifies the parameters of this header: offset param. name no. of bytes description & specification 0 vid_frm_patt 2 0xaa55 = start of video - frame pattern 2 header_length 1 number of bytes in this header = 12 3 frame_numb 1 d4 - d0: unsigned integer. incremented (mod 32) on every frame that is delivered to host computer. d7: capture_pressed (acti ve if '1'). d6: resumed ('1': first frame after suspend) d5: spare 4 frame_phase 1 d4 - d0: unsigned integer. incremented mod 30 on every frame that is acquired from camera. d7 - d5: spare 5 frame_latency 1 unsigned integer. number of milliseconds elapsed from the moment that the camera began delivery of this frame to ZR36504, to the moment that the ZR36504 began delivery of frame - header to usb. 6 data_format 1 d7: '0'=vendor specific (like ZR36504) ( '1'=class specific ) d6: '0'=raw data, '1'=c ompressed data d5 - d0: vid_format_code: 0x03 = yuv - 4:2:2 0x14 = yuv - 4:2:0 planar 0x06 - 0x12, 0x15 - 0x1f = spare 0x20 = zoran's compression 7 format_param 1 d7: intra_frame ('1'=intra, '0'=inter+intra). this bit should be ignored in raw data frames. d6: spare
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 42 of 42 d4 - d0: pix_depth (number of bits per pixel). these bits should be ignored in compressed data frames. 8 frame_width 2 unsigned word integer - number of pixels per line. 10 frame_height 2 unsigne d word integer - number of lines in frame. 5. dram control and interface the ZR36504 requires an external 16bit x 256k dram to operate (vga cameras require a 16bit x 1024k dram to provide 15f/s). the dram operation voltage must be 3.3v, and its access time must be 60ns or less. the ZR36504 uses the fast - page - read and fast - page - write dram access modes only. refresh cycles are automatically inserted between read or write bursts by the ZR36504. the ZR36504 allocates two ranges of memory addresses in the externa l dram, that are regarded as memory buffers: t video output data buffer. the ZR36504 uses this buffer as a fifo, to store output data from its compressor (in the compressed video mode) or from its scaler (in the raw video mode). previously written data is read to be sent to host computer via usb transfers (end - point 2). t video frame delay line buffer. this buffer is used in the compressed video mode only. the ZR36504 uses this buffer as a huge fifo, to store the current reconstructed frame. the compressor al ways needs to read the previous reconstructed frame as a reference image in the compression video mode. each of these buffers is assigned a start - address and an end - address (which relate to the physical 20 - bit address - space 0x00000 - 0xfffff of the dram). these addresses are supposed to be defined by the ZR36504 software driver as a part of the video stream initialization. the following registers of the ZR36504 are used to set the addresses of the two buffers: parameter register address usage dram_size reg .18/d1 '0': selects 4mbit dram (16bit x 256k) '1': selects 16mbit dram (16bit x 1024k) drm_col_slct reg.18/d7 defines address bit a19 for end of video output data buffer if 16mbit dram used. this parameter is used as an extension for ur_lst_row and vdw_lst_row. ur_1st_row [9..0] reg.18/d5, reg.19/d0, reg.20/d7 - d0 start address of video output data buffer for read. only a18..a9 are specified, a8..a0 are always '0' (start of a dram row). the bit a19 is also always '0'. ur_lst_row [9..0] reg.18/d6, reg.1 9/d1, end address of video output data buffer for read. only a18..a9 are specified, a8..a0 are
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 43 of 43 reg.21/d7 - d0 always '1' (end of a dram row). the bit a19 is defined by drm_col_slct parameter. fdl_1st_row [8..0] reg.19/d2, reg.22/d7 - d0 start address of video frame delay line buffer. only a17..a9 are specified, the other 11 bits are always '0' (start of a dram row). (continued...) parameter register address usage fdl_lst_word [18..0] reg.19/d7 reg.19/d4 - d3 reg.23/d7 - d0 reg.24/d7 - d0 end address of video fram e delay line buffer. vdw_1st_row [9..0] reg.18/d5 reg.19/d5 reg.25/d7 - d0 start address of video output data buffer for write. normally should be equal to ur_1st_row. vdw_lst_row [9..0] reg.18/d6 reg.19/d6 reg.26/d7 - d0 end address of video output data buffer for write. normally should be equal to ur_lst_row. register 18/d0 of the ZR36504 contains 3 bits named res_ur, res_fdl, and res_vdw. these are used to restart the appropriate fifo pointers that are used for dram access. the ZR36504 software driver i s supposed to set these bits to '1' and then to '0' if addresses of any of these buffers were modified. the ZR36504 performs a refresh cycle to dram from time to time. a special bit - ref - in register 18 specifies the refresh time for the whole address space. this allows the user to use either a 8.2ms refresh chip or a 128ms one (selecting 8.2ms mode will fit both 4m and 16m dram types). dram interface signals the following signals are used by the ZR36504 for dram access: da[9..0]: address - bus, multip lexed row address and column address. if a 4mbit dram is used, da[9] should be left open. dd[15..0]: data - bus, bi - directional bus with internal pull - down. rasn: raw - address select (active low). casn: column - address select (active low. can drive two dram pins). wrn: write enable signal (active low). oen: read enable signal (active low).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 44 of 44 the timing table and diagrams in the following pages specify the refresh, fast - page - write, and fast - page - read cycles of the ZR36504:
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 45 of 45 symbol parameter min max unit t rc refresh cycle time 144 148 ns t ras rasn low pulse width 82 85 ns t rp rasn high pulse width 60 64 ns t cpn casn high pulse width 60 64 ns t csr casn setup time before rasn low 19 23 ns t chr casn hold time after rasn low 40 44 ns t rpc rasn high to casn low 40 44 ns t crp casn high to rasn low 60 64 ns t csh casnhold time after rasnlow 81 85 ns t rcd rasnlow to casnlow 60 64 ns t cas casn low pulse width 22 25 ns t pc fast page mode read/write cycle time 40 44 ns t cp casn high pulse width 19 23 ns t rs h rasn hold time after casn low 40 44 ns t asr row address setup time before rasn low 5 23 ns t rah row address hold time after rasn low 40 44 ns t asc column address setup time before casn low 5 23 ns t wcs write setup time before casn low 19 23 ns t wch write hold time after casn low 40 44 ns t cah column address hold time after casn low 19 23 ns t ds write data setup time before casn low 5 22 ns t dh write data hold time after casn low 19 37 ns t rad column address delay time from rasn low 40 55 ns t och casn hold time after oen low 60 64 ns t cprh rasn hold time after casn precharge 60 64 ns t dsr read data setup time before casn high 2 - ns t dhr read data hold time after casn high 0 - ns
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 46 of 46 refresh cycle timings rasn casn wrn oen tcsr tras trc tchr trp trpc tcpn fast - page - mode write timings rasn casn wrn oen tcas tras tcsh twcs trp twch tcrp da[9..0] row address column address column address column address column address row address data valid-1 dd[15..0] data valid-2 data valid-3 data valid-4 trcd tcp tpc trsh tasr trah tasc tcah tds tdh fast - page - mode read timings
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 47 of 47 rasn casn wrn oen tcas tras tcsh toch trp tcprh tcrp da[9..0] row address column address column address column address column address row address dd[15..0] data valid-1 trcd tcp tpc trsh tasr trah tasc tcah tdsr tdhr trad data valid-1 data valid-1 data valid-1 6. camera control serial port the ZR36504 has a dedicated programmable serial port intended to be used for camera control; this port has several modes of operation, where the ZR36504 is always the bus - master (one of the more useful modes is iicc). the programmable serial port is controlled by the host computer via the following registers of the ZR36504 register bank: ser_mode, ser_adrs, ser_cont, ser_dat1, ser_dat2, ser_dat3, and ser_dat4. camera control uses 3 dedicated pins of the ZR36504 pinout: iicck is an open drain output pin, used to drive the serial port clock signal. it is supposed to be connected to an external 3.3 - 10k w pull - up resistor to 3.3 - 5v. iicdt is an open - drain bi - dire ctional pin, used to send and receive the serial port data. it is supposed to be connected to an external 3.3 - 10k w pull - up resistor to 3.3 - 5v. sens is an open drain output pin, used as a serial control strobe signal in some modes of operation. it is supposed to be connected to an external 3.3 - 10k w pull - up resistor to 3.3 - 5v. there are 6 modes of operation available for the camera control port. these are listed in the following table, and described in more detail in the following paragraphs: mode number m ode name description 0 soft bit - level software controlled mode 1 sio serial clocked i/o
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 48 of 48 2 iic lrack iicc with last byte read acknowledged 3 iic lrnack iicc with last byte read not acknowledged 4 cam1 camera 1 - refer to timing diagram 5 cam2 camera 2 - refer to timing diagram modes number 1 - 5 are referred as automatic modes: in these modes the host computer only needs to write the data bytes (and the device address byte - in some of them) in certain registers (ser_dat1 to ser_dat4, and ser_adrs) an d initiate a transfer request; in a similar way the host computer can read received data from same registers. the ser_mode register has some specific bits that can turn the automatic modes into more flexible serial data formats. these register bits are: clk_rate: writing '0' to this bit will select a 93.75khz clock at iicck output. writing '1' to this bit will select a 1.5mhz clock at iicck output. clk_pol: writing '0' to this bit will select the normal polarity at iicck output. writing '1' to this bit w ill select an inverted polarity at iicck output. vsync: writing '0' to this bit will select an immediate transfer. writing '1' to this bit will delay start - of - transfer to camera blank period. another register that is used by the automatic modes is the ser_cont register. this register is used by the host computer to control the serial port machine. the ser_cont register consists of the following control bits: ser_len: this field contains a 3 - bits binary integer that specify the number of data bytes that the host wishes to transfer in the serial transaction (the address byte is not counted). the range of this parameter is 0 to 4. ser_dir: writing '0' to this bit selects a write operation (host to camera). writing '1' to this bit selects a read operation (camera to host). ser_go/ser_busy: this is used as both a command and a status bit. writing '1' to this bit will initiate a serial transfer request. the serial transfer will either start immediately, or wait until the vertical blank time interval is dete cted at the camera video signal (depends on vsync bit). the ser_go/ser_busy bit will remain '1' till the end of transaction, to indicate to the host computer when a new transaction can be initiated. nack_rcv: this is a read - only bit, and it is used in modes 2 and 3 only (iicc
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 49 of 49 modes). the ZR36504, after completing a serial transfer of this mode, reports to the host computer via this bit whether or not all transmitted bytes were acknowledged by the camera (this includes address byte and all data bytes that w ere sent from host to camera). a '0' in this bit indicates all ack, and a '1' indicates a nack for one or more bytes. no_stop: this bit is used in modes 2 and 3 only (iicc modes), and enables multiple transactions inside a single start/stop frame. when set to '1', it informs the serial machine to omit the stop pattern at the end of the following transaction. combined with the continue bit, this enables the s/w driver to perform long transactions (i.e. for downloading the gama - correction table into camera d sp). continue: this bit is used in modes 2 and 3 only (iicc modes), and enables multiple transactions inside a single start/stop frame. when set to '1', it informs the serial machine to prepare for multiple transactions mode. it will never affect the following transaction, but the one coming after it, which will not contain a start pattern. the following pages specify all the 6 modes of operation for the camera - control serial port.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 50 of 50 soft mode: (mode=0) this mode is selected when the mode field (d7 - d4) of the ser_mode register is set to 0. in this mode the host computer can access the serial port pins directly, in order to enable control of cameras that are not supported by the other automatic modes. in the soft mode, the value of clk_out bit (d0) is reflected in the iicck output pin. a write operation to the dat_io bit (d1) sets the value of the iicdt pin; a read operation from the same dat_io bit reads the actual voltage level at the iicdt pin. the value of sens_out bit (d2) is reflected in the sens ou tput pin. sio mode: (mode=1) this is the serial clocked i/o automatic mode, and it is selected when the mode field (d7 - d4) of the ser_mode register is set to 1. the following waveform describe the sio mode: iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x x sens note: in both read and write sequence, data is sampled in the up-going edge of the clock iicck. iicck iicdt sens byte 1 byte 2 byte 4 note: in the sio mode 1 to 4 bytes are written or read.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 51 of 51 iic lrack mode: (mode=2) this is the iic lrack (last read acknowledged) automatic mode, and it is selected when the mode field (d7 - d4) of the ser_mode register is set to 2. in this mode, the iicck frequency is set to 93.75khz. iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x ack note: in both read and write sequence, data should be stable during the '1' state of the clock iicck. d7-d0 are sent by transmitter, ack is sent by receiver. iicck iicdt write address r/w byte 1 r/w byte 4 note: start is defined when the iicdt turns from '1' to '0' while the iicck is '1'. stop is defined when the iicdt turns from '0' to '1' while the iicck is '1'. the address byte is written like any other byte. stop start ack ack stop stop end of write sequence end of read sequence iicck iicck iicdt iicdt in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers; then the ZR36504 sends these bytes automatically. in a similar way the ZR36504 can read data bytes from the camera. the ZR36504 acknowledges the last byte read like all the other bytes. by using the no_stop and continue bits, one can perform a concatenation of multiple iicc transactions, in order to send or receive more than 4 bytes in a single start/stop frame. also, by using these control bits, one can combi ne write/read operations with a single stop pattern at the end. note that the ser_len parameter can be set to 0 to further support the concatenation mode of operation. iic lrnack mode: (mode=3) this is the iic lrnack (last read not acknowledged) automatic mode, and it is selected when the mode field (d7 - d4) of the ser_mode register is set to 3. in this mode, the iicck frequency is set to 93.75khz.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 52 of 52 in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers; then the ZR36504 sends these bytes automatically. in a similar way the ZR36504 can read data bytes from the camera. the ZR36504 does not acknowledge the last byte read from camera; this is done as a signaling to the camera, that no more bytes are needed. the waveforms for this mode of operation are specified in the following page. iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 x ack note: in both read and write sequence, data should be stable during the '1' state of the clock iicck. d7-d0 are sent by transmitter, ack is sent by receiver. iicck iicdt write address r/w byte 1 r/w byte 4 note: start is defined when the iicdt turns from '1' to '0' while the iicck is '1'. stop is defined when the iicdt turns from '0' to '1' while the iicck is '1'. the address byte is written like any other byte. stop start nack ack stop stop end of write sequence end of read sequence iicck iicck iicdt iicdt in this mode, the host defines the camera address byte and the data bytes to be written to the camera in the appropriate registers; then the ZR36504 sends these bytes automatically. in a similar way the ZR36504 can read data bytes from the camera. the ZR36504 does not acknowledge the last byte read (nack). by using the no_stop and continue bits, one can perform a concatenation of multiple iicc transactions, in order to send or receive more than 4 bytes in a single start/stop frame. also, by using these control bits, one can combine write/read operations with a single stop pattern at the end. note that the ser_len parameter can be set t o 0 to further support the concatenation mode of operation. cam1 mode: (mode=4)
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 53 of 53 this mode is selected when the mode field (d7 - d4) of the ser_mode register is set to 4. in this mode, the iicck frequency must not exceed 10mhz. in this mode three signals are used: iicck, iicdt, and sens. the host defines the desired camera register address byte and a single data byte to be written to that register in the appropriate ZR36504 registers; then the ZR36504 first sends the address and then the data automaticall y. in a similar way the ZR36504 can read a data byte from any given camera register. the waveforms for the cam1 mode are specified in the following diagram. note that every byte transfer has its own start condition, which indicates one of 3 possibilities: address write, data write, or data read. iicck iicdt a7 a6 a5 a4 a3 a2 a1 a0 note: a transaction consists of address write, followed by data write or data read. sens start address write 0 0 iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 sens start data write 1 0 iicck iicdt d7 d6 d5 d4 d3 d2 d1 d0 sens start data read 1 0 note: nt1004 relieses data signal (iicdt='1') at this point address write data write register write operation: address write data read register read operation: cam2 mode: (mode=5)
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 54 of 54 this mode is selected when the mode field (d7 - d4) of the ser_mode register is set to 5. in this mode, the iicck frequency must not exceed 10mhz. in this mode only two sign als are used: iicck, and iicdt. the host defines the desired camera register address byte and a single data byte to be written to that register in the appropriate ZR36504 registers; then the ZR36504 first sends the address and then the data automatically. note that in this mode both address and data consist of 7 - bit only; in this mode there is no way to read data from camera. the waveforms for the cam2 mode are specified in the following diagram. note that every byte transfer has its own transfer start si gnaling (which is identical for both address and data), followed by an address write condition or a data write condition. iicck iicdt a6 a5 a4 a3 a2 a1 a0 note: data is sampled on the down-going edge of the clock iicck. a transaction consists of address write, followed by data write. 0 1 address write data write register write operation: transfer start address write iicck iicdt d6 d5 d4 d3 d2 d1 d0 0 0 transfer start data write
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 55 of 55 7. external eeprom the ZR36504 provides a full usb compliant solution without the need for an external eeprom (usb vendor id is pin programmable). anyway, when unicode names are required, the ZR36504 can use an external 3.3v 2kb serial eeprom as an optional source for usb descriptors. there are several vendors that produce these 8 - pin eeprom chips, which are pin - to - pi n compatible. normally the external eeprom will be only read in a working device (mainly soon after usb insertion). anyway, the ZR36504 supports on - board eeprom programming, which can be used to alter some usb descriptors - especially the product serial number. the ZR36504 register bank includes special registers to perform a byte read or write operation to a given address of the eeprom. eeprom data structure the eeprom contains the device - descriptor, up to 4 configuration - descriptors, and up to 15 stri ng - descriptors in up to 7 different languages. the following diagram specifies the block structure of the eeprom data:
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 56 of 56 eeprom address (hex) 000 supported unicode languages table < 010 010 table of descriptor pointers 8*k don't care table of descriptors < 2048 eeprom content the first byte in this table is the total number of bytes in the table. the second byte is the "string" code of the usb standard. this is followed by a list of up to 7 valid codes of unicode languages . each pointer consists of 2 bytes: the first one identifies the descriptor, and the second contains the 8 most significant bits of the address where the descriptor starts. the end of this table is identified by the value 0x00 instead of a valid descriptor identifier. each pointer in this table has its descriptor in the table of descriptors. 0 to 7 bytes skipped, because next table must start in a 8*k address. each descriptor must start in a 8*k address. device and string descriptors are the same as specified in the usb- standard. in configuration descriptors, the first 2 bytes contain a 16- bit unsigned value for the number of bytes that the descriptor contains, and all the other bytes of the descriptor are as specified in the usb-standard (this is because this type of descriptors actually consist of a tree of small usb-descriptors, and can result in a more than 255 byte vector). each descriptor must have an identifier and a pointer in the table of descriptor pointers.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 57 of 57 supported unicode language table: this table is used as the "string" of index 0, which is defined in the usb - standard. this "string" is actually a list of all the langids that are supported by the device. the first two bytes in this table are needed for the standard format of usb string descriptors. eeprom address (hex) eeprom data (hex) description 000 blength number of bytes in this table (4 - 16). this is needed for the standard format of usb string descriptors. 001 string descriptor type (=03) code of string descriptor type (=03). this is needed for the standard format of usb string descriptors. 002 langid#1 (lsb) bits 7 - 0 of language - identifier of language #1. this language must be supported, and it is also used as the default language if the host specifies a language that is not included in this list. 003 langid#1 (msb) bits 15 - 8 of language - identifier of languag e #1. 004 langid#2 (lsb) optional . bits 7 - 0 of language - identifier of language #2. must contain ff if not used. 005 langid#2 (msb) optional .bits 15 - 8 of language - identifier of language #2. must contain ff if not used. 006 langid#3 (lsb) optional . bits 7 - 0 of language - identifier of language #3. must contain ff if not used. 007 langid#3 (msb) optional .bits 15 - 8 of language - identifier of language #3. must contain ff if not used. 008 langid#4 (lsb) optional . bits 7 - 0 of language - identifier of language #4. must contain ff if not used. 009 langid#4 (msb) optional .bits 15 - 8 of language - identifier of language #4. must contain ff if not used. 00a langid#5 (lsb) optional . bits 7 - 0 of language - identifier of language #5. must contain ff if not used. 00b langid#5 (msb) optional .bits 15 - 8 of language - identifier of language #5. must contain ff if not used. 00c langid#6 (lsb) optional . bits 7 - 0 of language - identifier of language #6. must contain ff if not used. 00d langid#6 (msb) optional .bits 15 - 8 of language - iden tifier of language #6. must contain ff if not used. 00e langid#7 (lsb) optional . bits 7 - 0 of language - identifier of language #7. must contain ff if not used. 00f langid#7 (msb) optional .bits 15 - 8 of language - identifier of language #7. must contain ff if not used. table of descriptor pointers this table is used by the ZR36504 to locate the start address of a given descriptor. each item in this table consists of a descriptor identifier byte (first byte), and eeprom address (second byte - contains only 8 most significant bits of address; the other 3 bits always equal '000'). eeprom address (hex) eeprom data (hex) description 010 ddi (=40) device - descriptor identifier code (=40). this descriptor must exist in eeprom. 011 dd address device - descriptor address in this eeprom (in this table, units are in 8 - byte steps for address pointers). 012 cdi#0 (=20) configuration - descriptor identifier # 0 code (=20). this descriptor must exist in eeprom. bits 7 - 2: '001000' (code of configuration - descriptor)
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 58 of 58 bits 1 - 0: '00' (configuration index). 013 cd#0 address configuration - descriptor #0 address. cdi#1 (=21) optional . configuration - descriptor identifier # 1 code. cd#1 address optional . configuration - descriptor #1 address. cdi#2 (=22) optional . configuration - descriptor identifier # 2 code. (continued...) (continued...) eeprom address (hex) eeprom data (hex) description cd#2 address optional . configuration - descriptor #2 address. cdi#3 (=23) optional . configuration - descriptor identifier # 3 code. cd#3 a ddress optional . configuration - descriptor #3 address. sdi#1,0 (=90) string - descriptor identifier lang#1 indx#0 (=90). this descriptor is actually the first table in eeprom. bit 7: '1' bits 6 - 4: '001' (language number in language - table) bits 3 - 0: '0000' (string index). sdi#1,0 address (=00) string - descriptor #1,0 address (=00). sdi#2,0 (=a0) string - descriptor identifier lang#2 indx#0 (=a0). this descriptor is actually the first table in eeprom. sdi#2,0 address (=00) string - descriptor #1,0 address (=0 0). sdi#3,0 (=b0) string - descriptor identifier lang#3 indx#0 (=b0). this descriptor is actually the first table in eeprom. sdi#3,0 address (=00) string - descriptor #3,0 address (=00). sdi#4,0 (=c0) string - descriptor identifier lang#4 indx#0 (=c0). this descriptor is actually the first table in eeprom. sdi#4,0 address (=00) string - descriptor #4,0 address (=00). sdi#5,0 (=d0) string - descriptor identifier lang#5 indx#0 (=d0). this descriptor is actually the first table in eeprom. sdi#5,0 address (=0 0) string - descriptor #5,0 address (=00). sdi#6,0 (=e0) string - descriptor identifier lang#6 indx#0 (=e0). this descriptor is actually the first table in eeprom. sdi#6,0 address (=00) string - descriptor #6,0 address (=00). sdi#7,0 (=f0) string - descriptor identifier lang#7 indx#0 (=f0). this descriptor is actually the first table in eeprom. sdi#7,0 address (=00) string - descriptor #7,0 address (=00). sdi#n1,m1 optional . string - descriptor identifier lang#n1 indx#m1. bit 7: '1' bits 6 - 4: n1 (language nu mber in language - table) bits 3 - 0: m1 (string index). sdi#n1,m1 address optional . string - descriptor #n1,m1 address. sdi#n2,m2 optional . string - descriptor identifier lang#n2 indx#m2.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 59 of 59 sdi#n2,m2 address optional . string - descriptor #n1,m1 address. . . . . sdi#nk,mk optional . string - descriptor identifier lang#nk indx#mk. sdi#nk,mk address optional . string - descriptor #nk,mk address. eot (=00) end - of - table code (=00).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 60 of 60 table of descriptors this table contains the device descriptor, all configura tion descriptors, and all string descriptors. device and string descriptors are organized exactly as specified in usb standard. configuration descriptors start with a word (= 2 bytes - lsb first, then msb) that specifies the number of total bytes in the descriptor (not including the first 2 bytes), followed by the descriptor's body which is organized exactly as specified in usb standard. notes: the supported unicode languages table is also used as string descriptor #0 for all languages. there is one and only one device descriptor, which is always 18 bytes long. a descriptor always starts at a 8*k address of the eeprom (the 3 least significant bits of the address are '000'). this means that there can be up to 7 unused bytes between any two descriptors in the table. eeprom access registers eeprom access via the ZR36504 registers is enabled when the e2_en bit in the pwr_reg register is set. the following registers are used for eeprom access: parameter register address usage e2_en reg.0/d7 e2_en enable eeprom access. 0: default after reset. eeprom access disabled. 1: enable eeprom read and write (1) ee_data[7..0] reg.14 ee_data data byte to be written to eeprom. also, last data byte that was read from eeprom. ee_lsbad[7..0] reg.15 ee_lsbad 8 least significant bits of byte address in eeprom to be accessed. ee_msbad[10..8] reg.16/d2 - d0 3 most significant bits of byte address in eeprom to be accessed. ee_dir reg.16/d3 ee_dir select eeprom access direction: 0: select write operation to eeprom. 1: select read operation from eeprom. ee_go/ee_busy reg.16/d4 ee_go/ ee_busy this is used as both a command and a status bit. writing '1' to this bit will initiate a byte read or write. the ser_go/ser_busy bit will remain '1' till the end of operation, to indicate to the host computer when a eeprom access can begin. (2) notes: (1) write operation to eeprom requires eeprom wp pin to be grounded. (2) a write operation requires additional 10ms in the eeprom internal circuits.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 61 of 61 eeprom control signals the scl/pwr0 an d sda/eeprom pins of the ZR36504 are the eeprom control signals. the scl/pwr0 is used as the clock output, and the sda/eeprom signal is used as the data i/o. during reset operation, the ZR36504 samples its sda/eeprom pin to determine if an external eeprom is connected. if an external eeprom does not exist (sda/eeprom='0'), the ZR36504 automatically uses its internal rom for usb descriptors; in this case, the ZR36504 relates to hard - coding of the pins scl/pwr0 and pwr1 to determine the current - consumption pa rameter for the configuration - descriptor. the following table summarizes these two modes of operation: internal rom mode external eeprom mode sda/eeprom pin connected to gnd . scl/pwr0 and pwr1 pins are hard - coded to determine device current consumption for configuration - descriptor: pwr1 scl/pwr0 current ===== ======== ====== 0 0 200ma 0 1 300ma 1 0 400ma 1 1 500ma sda/eep rom pin connected to 10k pull - up resistor (3.3v to 5.0v). external serial 2k*8 eeprom is connected: sda/eeprom connected to serial - data (sda). scl/pwr0 connected to serial - clock (scl). the following timing diagram and table specify the eeprom control waveforms that the ZR36504 generates: start/stop timings scl sda tsu:sta thd:sta tsu:sto
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 62 of 62 data timings scl sda out thigh thd:do tlow tsu:do dn dn+1 sda in data valid data valid thd:di tsu:di symbol parameter min max unit t su:sta start condition setup time 5300 - ns t hd:sta start condition hold time 5300 - ns t su:sto stop cond ition setup time 5300 - ns t high clock high time 5300 - ns t low clock low time 5300 - ns t su:do data output setup time 2500 2670 ns t hd:do data output hold time 2500 2670 ns t su:di data input setup time 20 - ns t hd:di data input hold time 0 - ns
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 63 of 63 8. ZR36504 usb and status registers the ZR36504 has some registers that allow software driver to directly read and affect some usb device parameters. these are specified in the following table: parameter register address usage config_reg reg.1 config_ reg re ad only register. contains the device configuration number. adrs_reg reg.2/d6 - d0 adrs_reg read only register. contains the device address. alter_reg reg.3/d3 - d0 alter_reg read only register. contains the alternate setting for end - point 2 (video bandwidth). regarding this value as a binary number in the range [1,15], the number of bytes sent in the isochronous pipe of ep2 in every millisecond is: n = (16 - alter_reg)*64 - 1 usb bandwidth = (16 - alter_reg)*0.5 mbit/sec new_alt reg.4/d3 - d0 force_ alter_reg new alternate setting for end - point 2, (video bandwidth), to replace the original setting. this can be used to lower the actual used bandwidth temporarily, without letting know the operating system. force_alt reg.4/d7 force_ alter_reg force new alternate. 0: use original setting. 1: select new_alt value. vfrm_blnk reg.5/d0 status_ reg read only register. 0: valid region of input video frame. 1: blank or unused region of input video frame. ee_clk_force [2..0] reg.16/d7 - d5 ee_cont read only register. these 3 bits reflect the logical level of the following pins of the ZR36504: ee_clk_force[0] = scl/pwr0 pin. ee_clk_force[1] = pwr1 pin. ee_clk_force[2] = sda/eeprom (1) pin. wd_en & wd_count[7..0] reg.0/d0 reg.53/d7 - d0 some usb host controllers may start an isochronuos in transaction too much time after the sof (start of usb frame point). this means that long in transactions may exceed the 1ms time interval of the usb frame, and cause the usb host controller to disconnect the device. the ZR36504 uses a n internal watch dog timer to eliminate such problems. the watch dog operates if wd_en control bit is set to '1'. it then starts to count 686us after the sof pattern, and automatically terminates any isochronuos transaction when reaching the value of wd_count register. every one count is equivalent to 1.33us. note that the value of wd_count should be no more than 0xe9 in order to take any effect.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 64 of 64 (1) a s sampled during reset operation. '1' indicates existence of external eeprom.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 65 of 65 9. programmable i/o pins and 48mhz output pin the ZR36504 has two programmable i/o pins for general purpose usage. these are io - 1 and io - 2 pins, which are open - drain. each of these pins - if used - must be connected to an external pull - up resistor to 3.3 - 5.0v (if not used, it can be tied to gnd). the external pull - up resistor should be in the range 1 - 10k w . to use these pins as inputs, the host computer should write '1' to the appropriate bit in the iopin_reg register (in the ZR36504 register bank); these are io_1 and io_2 bits res pectively. in this condition, the voltage level presented on the io - 1 or io - 2 pin can be read by the host computer via the appropriate bit ('0' represents <0.8v, '1' represents >2.0v). to use these pins as outputs, the host computer should write the output value to the appropriate bit in the iopin_reg register; in this condition, and assuming that no external device forces the voltage level presented on the io - 1 or io - 2 pin, the written value will be reflected out ('0' will generate 0v, '1' will generate 3 .3 - 5.0v). upon a power on reset or a usb - reset operation, the io - 1 and io - 2 pins are cleared to '0'. in the suspend mode these pins are temporarily set to high - z. the ZR36504 can provide a 48mhz clock output for general purpose usage. the pin clk48 is dedicated for this usage, and is enabled when the clk48_en bit is set to '1' (reg.0/d3). when not enabled, the output level in this pin is constant '0'. the 48mhz output is 50% duty cycle with 1ns jitter, and is derived from the external 12mhz crystal (an internal analog pll is used).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 66 of 66 10. audio channel the audio channel in the ZR36504 is based on a serial 64 - 512kb/s data stream from the ZR36504 to the host computer (usb isochronuos mode is used for this stream). the 64 - 512kb/s stream comes from a 8,000/16,000 s/sec 16/8 - bit audio samples at the external audio codec(s). two external codecs should be used for stereo mode recordings. the 8/16khz sampling clock is derived from the 12mhz external crystal. the ZR36504 pins for the external codec interface are bcl k, fs_l, fs_r, and dat_in. the following table specifies the audio_cont register (register address = 50): bit # name description 0 e_a '0': disables audio channel. set fs_l and fs_r outputs to constant '0'. if e_b is also '0', bclk is set to constant '0'. '1': enable audio channel. 1 e_b '0': disable bulk data input. set blk_full output to constant '0'. if e_a is also '0', bclk is set to constant '0'. '1': enable bulk data input. 3 - 2 bps '00': 8 - bit per sample. '01': 12 - bit per sample (occu pies 2 bytes. bits d3 - d0 of second byte are set to '0000'). '10': 14 - bit per sample (occupies 2 bytes. bits d1 - d0 of second byte are set to '00'). '11': 16 - bit per sample. 4 s/m '0': selects mono mode. fs_l output is active, fs_r output is constant '0'. '1': selects stereo mode. both fs_l and fs_r outputs are active. 5 fs '0': set sampling rate to 8,000 samp/sec. '1': set sampling rate to 16,000 samp/sec. 7 - 6 bk '00': bclk frequency is not defined. '01': select bclk frequency = 64khz. '10': select bclk frequency = 1.544mhz. '11': select bclk frequency = 2.048mhz. in addition to the audio_cont register, there is the aud_pk_len register (register address = 51), to select the maximum packet size to be sent via the audio isochronuos pipe. this number is limited by 128, which is the maximum number of bytes that the ZR36504 audio fifo can contain. the s/w driver should set this register to a value that fits the usb descriptor for the e.p#3 maximum packet length (which is 66 if not using an external eeprom). codec interface
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 67 of 67 the codec interface is long frame sync timing based. the bclk frequency can be selected to be - 2048khz, 1536khz, or 64khz, which enables the designer to use almost any family of low cost codecs available in market. in the long frame sync timing modes, the msb of the "transmitted" data is always expected soon after the rising edge of the fs_l (or fs_r) signal. the ZR36504 produces a positive pulse of 2 bclk cycles in these output pins every 125us (8khz) or every 62.5us (16khz), which indi cates the start of sample as specified in the following waveform diagram: msb lsb txs txd1 txd2 tsx bclk fs_l fs_r dat_in xx xx the bclk is derived out of the 12mhz clock from the crystal. this results in a 4.3% jitter at the bclk signal. the following table specifies the minimum and maximum time intervals for the codec interface waveform diagram: parameter symbol min max unit hold time from bclk low to fs_l / fs_r high txs 180 - ns setup time from fs_l / fs_r high to bclk low tsx 180 - ns delay time to valid data from fs_l / fs_r txd 1 - 200 ns delay time from bclk high to dat_in valid txd2 - 200 ns jitter at the bit clock signal bclk cj - 4.3 %
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 68 of 68 11. bulk channel the bulk channel in the ZR36504 is capable of transferring serial data from an external source to the host computer at a bit rate of up to 2mbit/sec. it uses a bulk end point (e.p#4), with a maximum packet length that can be specified a value between 1 - 64 bytes (the usb standard does not allow a bulk packet of more than 64 bytes). the bulk channel takes advantage of the existing interface for the audio codec. in order to work simultaneously with the audio channel, the external data source should be able to stop the data transfer from time to time - as specified in the bulk waveform diagram. the ZR36504 pins for the bulk channel interface are bclk, dat_in, blk_en, and blk_full. the signals fs_l and fs_r should be monitored by the data source logic, in order to coexist with the audio channel. the following table specifies the control registers that are used for controlling the bulk channel: control name description e_b reg.50/d1 '0': disable bulk data input. set blk_full output to constant '0'. if e_a is also '0', bclk is set to constant '0'. '1': enable bulk data input. blk_pk_len[6..0] reg.52/d6 - d0 this register specifies the maximum number of bytes to be sent in a single usb bulk packet. this must be a number between 0 - 64, and it should fit the content of usb descriptor (64 if no external eeprom used). this register directly affects the bit rate capability of the bulk channel. the actual bit rate is also limited by the bclk frequency, which can be 64khz, 1544khz, or 2048khz. a bit rate of 2mbit/sec can be reached only in computers that are capable of performing more than one packet in a usb frame (ohci). the following waveform diagrams specifies the procedure and timings for the ZR36504 bulk interface. note that the input data is sampled on the falling edge of the bclk clock signal. the blk_en input is set to '1' by the sending device to indicate the beginning of a byte sequence; it should always turn to '1' before the most significant bit of the first byte, and return to '0' after the least significant bit of the last byte in sequence. when the blk_full output of the ZR36504 turns '1', the sending device should wait (by switching blk_en to '0') until the blk_full indication returns to '0'.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 69 of 69 b1[7] dsu dh besu bclk blk_en dat_in xx xx b1[6] b1[5] b1[4] bn[2] bn[1] bn[0] beh if the audio channel is enabled, the sending device should wait at least 16 clock cycles after the fs_l (or fs_r) pulse before beginning to send its own data. during this time it should keep its data out signal in the hi - z state, in order not to interfere with the audio data. audio bclk blk_en dat_in xx audio audio audio audio b1[7] b1[6] fs_l fs_r 1 2 3 4 b1[5] 16 keep device data output pin in hi-z bclk blk_en dat_in bn+1[7] blk_full bn[0] bn[1] bn+1[6] bfhsu bflsu
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 70 of 70 parameter symbol min max unit setup time from blk_en high to bclk low besu 100 - ns hold time from bclk low to blk_en low beh 100 - ns setup time from dat_in valid to bclk low dsu 100 - ns hold time from bclk low to dat_in valid dh 100 - ns setup time from blk_full high to bclk high bfhsu 80 - ns hold time from blk_full low to bclk high bfl su 0 - ns jitter at the bit clock signal bclk cj - 4.3 %
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 71 of 71 12. software package following is a description of the software components provided with the ZR36504: wdm video streaming class minidriver - - ms a standard connection and streaming in kernel mode (capture, still) - ms a standard property sets (tv tuner, crossbar) - ms a standard way of exposing data formats. - ms a standard way of controlling stream flow. all interfaces are exposed through directshow architecture. vfw interfaces are also available via wdm to vfw mapper, provided by microsoft. wdm audio streaming class minidriver - streamss audio data from the ZR36504 chip. twain compliant driver - the package includes a twain compliant driver for high resolution still capture. the gui of the twain driver displays live video for preview. eeprom programming application - an application for programming the ZR36504 eeprom to contain vendor specific usb descriptors. it allows to set the device and manufacturer names as well as the serial number for the device. the drivers are supplied with inf file for easy installation. customization is done by modifying the name strings in the inf file.
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 72 of 72 13. mechanical specification dimensions in mm (inches).
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 73 of 73 index 100 1 lead no. 0.50(.0197)typ 0.18 (.007 ) +.003 - .001 +0.08 - 0.03 0.08(.003) m "a" 25 26 50 51 75 76 14.00 0.10(.551 .004)sq 16.00 0.20(.630 .008)sq 12.00(.472)ref 15.00(.591)nom 0.10(.004) 0.127 +0.05 - 0.02 (.005 ) +.002 - .001 1.50 +0.20 - 0.10 (.059 ) +.008 - .004 (mounting height) "b" 0.50 0.20(.020 .008) 0~10 0 0.10 0.10 .004 .004 stand off details of "b" part 0.40(.016)max details of "a" part 0.15(.006)max 0.15(.006) 0.15(.006) 100-pin plastic lqfp
zoran corporation usbvision ii data decoder zr36505 data sheet november - 99 page 74 of 74 http://www.zoran.com for more information, contact zoran?s santa clara office or the office nearest you: usa zoran corporation 3112 s cott boulevard santa clara, ca 95054 - 3317 tel: 408 - 919 - 4111 fax: 408 - 919 - 4122 israel zoran microelectronics ltd. advanced technology ctr. p.o. box 2495 haifa, 31024 israel tel : +972 - 4 - 8545 - 777 fax: +972 - 4 - 8551 - 551 china zoran china office suite 2507 electronics science & tech building 2070 central shennan rd. shenzhen, guangdong, 518031 p.r. china tel : +86 - 755 - 378 - 0319 fax: +86 - 755 - 378 - 0852 japan zoran japan office 2 - 2 - 8 roppongi, minato - ku tokyo 106 - 0032, japan tel : +81 - 03 - 5574 - 7081 fax: +81 - 03 - 5574 - 7156 taiwan zoran taiwan office 4f - 1, no. 5, alley 22 lane 513, reikuang rd. taipei, taiwan r.o.c. tel : +886 - 2 - 2659 - 9797 fax: +886 - 2 - 2659 - 9595 canada zoran toronto lab 2175 queen st. east, suite 302 toronto, ontario m4e 1e5 canada tel : (416) 690 - 3356 fax: (416) 690 - 336


▲Up To Search▲   

 
Price & Availability of ZR36504

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X